|
Posizione nel menu |
---|
Modifiche → Ruota Modifica → Ruota |
Ambiente |
Draft, BIM |
Avvio veloce |
R O |
Introdotto nella versione |
0.7 |
Vedere anche |
Draft Evidenzia i sottoelementi |
Il comando Ruota ruota o copia gli oggetti selezionati attorno ad un punto centrale di un dato angolo. L'asse di rotazione è perpendicolare al piano di lavoro corrente e l'angolo di rotazione è relativo a quel piano. In modalità sottoelemento il comando ruota i punti e gli spigoli selezionati, o copia gli spigoli selezionati, di Linee e Polilinee.
Il comando può essere utilizzato su oggetti 2D creati con Draft o Sketcher, ma anche su molti oggetti 3D come quelli creati con gli ambienti Part, PartDesign o BIM.
Rotazione di un oggetto intorno ad un punto centrale
Vedere anche: Aggancio e Vincolare.
È possibile modificare le scorciatoie da tastiera a carattere singolo disponibili nel pannello delle attività. Vedere Preferenze di Draft. Le scorciatoie qui menzionate sono le scorciatoie predefinite (per la versione 1.0).
Vedere anche: Impostare le preferenze e Preferenze per l'ambiente Draft.
Vedere anche: Autogenerated API documentation e Script di base per FreeCAD.
Per ruotare gli oggetti usa il metodo rotate
del modulo Draft.
rotated_list = rotate(objectslist, angle, center=Vector(0,0,0), axis=Vector(0,0,1), copy=False)
objectslist
contiene gli oggetti da ruotare. È un singolo oggetto o un elenco di oggetti.angle
è l'angolo di rotazione in gradi.center
è il punto centrale della rotazione.axis
è la direzione dell'asse di rotazione.copy
è True
vengono create delle copie invece di ruotare gli oggetti originali.rotated_list
viene restituito con gli oggetti originali ruotati o con le nuove copie. È un singolo oggetto o un elenco di oggetti, a seconda di objectlist
.Esempio:
import FreeCAD as App
import Draft
doc = App.newDocument()
polygon1 = Draft.make_polygon(3, radius=300)
Draft.move(polygon1, App.Vector(1000, 0, 0))
# Rotation around the origin
angle1 = 45
rot2 = Draft.rotate(polygon1, angle1, copy=True)
rot3 = Draft.rotate(polygon1, 2*angle1, copy=True)
rot4 = Draft.rotate(polygon1, 4*angle1, copy=True)
polygon2 = Draft.make_polygon(3, radius=1000)
polygon3 = Draft.make_polygon(5, radius=500)
Draft.move(polygon2, App.Vector(2000, 0, 0))
Draft.move(polygon3, App.Vector(2000, 0, 0))
# Rotation around another point
angle2 = 60
cen = App.Vector(3100, 0, 0)
list2 = [polygon2, polygon3]
rot_list2 = Draft.rotate(list2, angle2, center=cen, copy=True)
rot_list3 = Draft.rotate(list2, 2*angle2, center=cen, copy=True)
rot_list4 = Draft.rotate(list2, 4*angle2, center=cen, copy=True)
doc.recompute()